Telegram Group & Telegram Channel
Boshiga https://www.tg-me.com/hk/Python dasturlash maktabi/com.pythonuz/590

###################

Mavjud bo'lmagan indeks yoki kalitlarni tekshirish uchun umumiy LookupError dan yoki LookupError dan meros bo'lib olingan IndexError, KeyError dan foydalanishingiz mumkin.

x = [1, 2, 3, 4, 5]
try:
print(x[5])
except LookupError as e:
print(f"{e}, {e.class}")

list index out of range, <class 'IndexError'>

# ——————————————-#

lugat = {1: 'one', 2: 'two'}
try:
print(lugat[3])
except LookupError as e:
print(f'{e}, {e.class}')

3, <class 'KeyError'>

###################

Dastur operatsion tizim xotirasidan katta hajmdagi xotirani iste'mol qilganda MemoryError xatoligi paydo bo'ladi.

import numpy
try:
numpy.ones((9999999999,))
except MemoryError as e:
print(e)

Unable to allocate 74.5 GiB for an array with shape (9999999999,) and data type float64
###################

Noto'g'ri yozilgan funksiya nomi yozilganda dastur NameError xatoligini qaytaradi.

try:
prin('Hello')
except NameError as e:
print(e, e.class)

name 'prin' is not defined <class 'NameError'>

# ——————————————-#
Mavjud bo'lmagan o'zgaruvchi yozilganda dastur NameError xatoligini qaytaradi.

try:
var = 42
print(war)
except NameError as e:
print(e, e.class)

name 'war' is not defined <class 'NameError'>

# ——————————————-#
O'zgaruvchisi biror tur/qiymatga ega bo'lmagan funksiyaga murojaat qilinganda dastur UnboundLocalError xatoligini qaytaradi.

def func():
x += 1
print(x)


func()

UnboundLocalError: local variable 'x' referenced before assignment

###################

Dastur ishga tushirilganda dasturlash tili qoidalariga amal qilinmaganda (sintaksis xatolar bo'lsa) SyntaxError xatoligini qaytaradi.Keraksiz joyda nuqta, vergul, bo'sh joy, operator yoki funksiyalar nomini xato yozish, ochilmay yoki yopilmay qolgan qavs, ikkitirnoq yoki birtirnoqlar, o'zgaruvchilarga noto'g'ri nom berish SyntaxError ga misol bo'la oladi.

len() = 5

SyntaxError: cannot assign to function call

# ——————————————-#

fro i in range(10):
print(i)

SyntaxError: invalid syntax

# ——————————————-#

Kod bloklarida noto'g'ri yozilgan bo'sh joylar IndentationError xatoligini qaytaradi.

num = 5
if num == 5:
print('ok')

IndentationError: expected an indented block

# ——————————————-#

Yorliqlar va bo'shliqlardan noto'g'ri foydalanganda dastur TabError xatoligini qaytaradi

rating_range = 1
for row in range(6):
if 200 <= 199:
rating_range += 1
print(rating_range)

TabError: inconsistent use of tabs and spaces in indentation

###################

Noto'g'ri ma'lumot turlari ustida amallar bajarilganda dastur TypeError xatoligini qaytaradi.
Quyidagi holatlarda dastur TypeError xatoligini qaytaradi.

——————————————-#

Matn va sonni birlashtirishga uringanda

num  = 42
matn = '-maktab'
print(num + matn)

TypeError: unsupported operand type(s) for +: 'int' and 'str'

——————————————-#

O'zgaruvchini funksiya ko'rinishida chaqirganda

var = 'pythonuz'
print(var())

TypeError: 'str' object is not callable

——————————————-#

Ro'yxat indeksida noto'g'ri ma'lumot turi ko'rsatilganda

royxat = ['pythonuz', 'phpuz']
print(royxat['1'])

TypeError: list indices must be integers or slices, not str

###############

Biror amal yoki funktsiya mos bo'lmagan qiymatga ega bo'lgan argumentni qabul qilganda dastur ValueError xatoligini qaytaradi.

import math
x = -9
try:
print(f'{x} ning kvadrat ildizi {math.sqrt(x)}')
except ValueError as e:
print({e}, {e.class})

{ValueError('math domain error')} {<class 'ValueError'>}

——————————————-#

try:
int('two')
except ValueError as e:
print({e}, {e.class})


{ValueError("invalid literal for int() with base 10: 'two'")} {<class 'ValueError'>}

###############

Python dasturlash tiliga oid savollarni ushbu guruhga yozing @apiuz



tg-me.com/pythonuz/591
Create:
Last Update:

Boshiga https://www.tg-me.com/hk/Python dasturlash maktabi/com.pythonuz/590

###################

Mavjud bo'lmagan indeks yoki kalitlarni tekshirish uchun umumiy LookupError dan yoki LookupError dan meros bo'lib olingan IndexError, KeyError dan foydalanishingiz mumkin.

x = [1, 2, 3, 4, 5]
try:
print(x[5])
except LookupError as e:
print(f"{e}, {e.class}")

list index out of range, <class 'IndexError'>

# ——————————————-#

lugat = {1: 'one', 2: 'two'}
try:
print(lugat[3])
except LookupError as e:
print(f'{e}, {e.class}')

3, <class 'KeyError'>

###################

Dastur operatsion tizim xotirasidan katta hajmdagi xotirani iste'mol qilganda MemoryError xatoligi paydo bo'ladi.

import numpy
try:
numpy.ones((9999999999,))
except MemoryError as e:
print(e)

Unable to allocate 74.5 GiB for an array with shape (9999999999,) and data type float64
###################

Noto'g'ri yozilgan funksiya nomi yozilganda dastur NameError xatoligini qaytaradi.

try:
prin('Hello')
except NameError as e:
print(e, e.class)

name 'prin' is not defined <class 'NameError'>

# ——————————————-#
Mavjud bo'lmagan o'zgaruvchi yozilganda dastur NameError xatoligini qaytaradi.

try:
var = 42
print(war)
except NameError as e:
print(e, e.class)

name 'war' is not defined <class 'NameError'>

# ——————————————-#
O'zgaruvchisi biror tur/qiymatga ega bo'lmagan funksiyaga murojaat qilinganda dastur UnboundLocalError xatoligini qaytaradi.

def func():
x += 1
print(x)


func()

UnboundLocalError: local variable 'x' referenced before assignment

###################

Dastur ishga tushirilganda dasturlash tili qoidalariga amal qilinmaganda (sintaksis xatolar bo'lsa) SyntaxError xatoligini qaytaradi.Keraksiz joyda nuqta, vergul, bo'sh joy, operator yoki funksiyalar nomini xato yozish, ochilmay yoki yopilmay qolgan qavs, ikkitirnoq yoki birtirnoqlar, o'zgaruvchilarga noto'g'ri nom berish SyntaxError ga misol bo'la oladi.

len() = 5

SyntaxError: cannot assign to function call

# ——————————————-#

fro i in range(10):
print(i)

SyntaxError: invalid syntax

# ——————————————-#

Kod bloklarida noto'g'ri yozilgan bo'sh joylar IndentationError xatoligini qaytaradi.

num = 5
if num == 5:
print('ok')

IndentationError: expected an indented block

# ——————————————-#

Yorliqlar va bo'shliqlardan noto'g'ri foydalanganda dastur TabError xatoligini qaytaradi

rating_range = 1
for row in range(6):
if 200 <= 199:
rating_range += 1
print(rating_range)

TabError: inconsistent use of tabs and spaces in indentation

###################

Noto'g'ri ma'lumot turlari ustida amallar bajarilganda dastur TypeError xatoligini qaytaradi.
Quyidagi holatlarda dastur TypeError xatoligini qaytaradi.

——————————————-#

Matn va sonni birlashtirishga uringanda

num  = 42
matn = '-maktab'
print(num + matn)

TypeError: unsupported operand type(s) for +: 'int' and 'str'

——————————————-#

O'zgaruvchini funksiya ko'rinishida chaqirganda

var = 'pythonuz'
print(var())

TypeError: 'str' object is not callable

——————————————-#

Ro'yxat indeksida noto'g'ri ma'lumot turi ko'rsatilganda

royxat = ['pythonuz', 'phpuz']
print(royxat['1'])

TypeError: list indices must be integers or slices, not str

###############

Biror amal yoki funktsiya mos bo'lmagan qiymatga ega bo'lgan argumentni qabul qilganda dastur ValueError xatoligini qaytaradi.

import math
x = -9
try:
print(f'{x} ning kvadrat ildizi {math.sqrt(x)}')
except ValueError as e:
print({e}, {e.class})

{ValueError('math domain error')} {<class 'ValueError'>}

——————————————-#

try:
int('two')
except ValueError as e:
print({e}, {e.class})


{ValueError("invalid literal for int() with base 10: 'two'")} {<class 'ValueError'>}

###############

Python dasturlash tiliga oid savollarni ushbu guruhga yozing @apiuz

BY Python dasturlash maktabi




Share with your friend now:
tg-me.com/pythonuz/591

View MORE
Open in Telegram


Python dasturlash maktabi Telegram | DID YOU KNOW?

Date: |

Telegram is riding high, adding tens of million of users this year. Now the bill is coming due.Telegram is one of the few significant social-media challengers to Facebook Inc., FB -1.90% on a trajectory toward one billion users active each month by the end of 2022, up from roughly 550 million today.

Pinterest (PINS) Stock Sinks As Market Gains

Pinterest (PINS) closed at $71.75 in the latest trading session, marking a -0.18% move from the prior day. This change lagged the S&P 500's daily gain of 0.1%. Meanwhile, the Dow gained 0.9%, and the Nasdaq, a tech-heavy index, lost 0.59%. Heading into today, shares of the digital pinboard and shopping tool company had lost 17.41% over the past month, lagging the Computer and Technology sector's loss of 5.38% and the S&P 500's gain of 0.71% in that time. Investors will be hoping for strength from PINS as it approaches its next earnings release. The company is expected to report EPS of $0.07, up 170% from the prior-year quarter. Our most recent consensus estimate is calling for quarterly revenue of $467.87 million, up 72.05% from the year-ago period.

Python dasturlash maktabi from hk


Telegram Python dasturlash maktabi
FROM USA